pub fn dp_rec_mc(amount: u32) -> u32 {
    // 所有可能的面额
    let possiable = vec![1, 2, 5, 10, 20, 30, 50, 100];
    let mut total = amount;
    let mut count = 0;
    // 从最大的面额开始迭代
    for denomination in possiable.iter().rev() {
        // 计算面额的最大数量
        let num = total / denomination;
        if num != 0 {
            // 将数量更新至 count
            count += num;
            total %= denomination;
        }
    }
    count
}
